home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / mus / play / DeliTracker214.lha / DeliTracker_II / Install-DT_II < prev    next >
Text File  |  1995-04-27  |  28KB  |  987 lines

  1. ;=============================================================================;
  2. ;
  3. ; $VER: DT_Install 2.14 (26.04.1995)
  4. ;
  5. ; Installation script for DeliTracker II
  6. ; (c) Copyright 1994-95 by Frank Riffel and Peter Kunath
  7. ;
  8. ;=============================================================================;
  9. ;=============================================================================;
  10. ;=============================================================================;
  11. ;
  12. ; This is a quick description how this script works:
  13. ;
  14. ; 1.INIT_STUFF
  15. ;
  16. ; 2.CHECK_INSTALLED_VERSION:
  17. ;    NO_VERSION  => CHOOSE_DESTINATION
  18. ;               (suggestion Work: or SYS:)
  19. ;    OLD_VERSION => UNINSTALL_OLD
  20. ;    NEW_VERSION => EXIT
  21. ;
  22. ; 3.MAIN                            ~ 80K
  23. ;
  24. ; 4.PLAYERS (default players, ask further players to install)    ~350K
  25. ; 5.ASK PLAYSID                            ~ 20K
  26. ;
  27. ; 6.ASK DELIAY                            ~ 30K
  28. ;
  29. ; 7.GENIES (default genies, ask further genies to install)    ~250K
  30. ;
  31. ; 8.AREXX (ask user)                        ~ 15K
  32. ;
  33. ; 9.LIBS (ask user, suggested)                    ~ 40K
  34. ;
  35. ; 10.DOCS (depending on language)                ~110k
  36. ;
  37. ; 11.DEVELOPER_DOCS (ask only ADVANCED)                ~160K
  38. ;                                ======
  39. ;                            TOTAL  ~1000K
  40. ;=============================================================================;
  41. ;=============================================================================;
  42. ;=============================================================================;
  43. ;
  44. ; Some initial stuff like kick version check, lanugage selection, ...
  45.  
  46. (if (= @LANGUAGE "english")
  47.  (
  48.   (set def_pat "#?.doc#?")
  49.  
  50.   (set #bad-kick
  51.   (cat "DeliTracker 2.0 will only run under Kickstart 2.04 or above!"
  52.   ))
  53.  
  54.   (set #abort-t
  55.   (cat "Make sure that T: is big enough to hold 500KB."
  56.   ))
  57.  
  58.   (set #invalid-env
  59.   (cat "\nENV:DeliConfig doesn't point to a valid directory. It has been deleted.\n\n If you want to install DeliTracker you can run this script again."
  60.   ))
  61.  
  62.   (set #abort-no-space
  63.   (cat "You need at least 850.000 Bytes of free store to install DeliTracker II"
  64.   ))
  65.  
  66.   (set #choose-text
  67.   (cat "Please choose a directory where DeliTracker should be installed! A drawer will be created there."
  68.   ))
  69.  
  70.   (set #choose-help
  71.   (cat "In this location a drawer will be created. All files exept the libraries will be installed inside this drawer. The complete installation will require about 1MB of free harddisk space."
  72.   ))
  73.  
  74.   (set #create-maindir
  75.   (cat "Creating DeliTracker directory"
  76.   ))
  77.  
  78.   (set #create-configdir
  79.   (cat "Creating Config directory"
  80.   ))
  81.  
  82.   (set #set-path
  83.   (cat "Setting up configuration path"
  84.   ))
  85.  
  86.   (set #inst-main
  87.   (cat "Installing main program."
  88.   ))
  89.  
  90.   (set #create-docsdir
  91.   (cat "Creating Docs dir"
  92.   ))
  93.  
  94.   (set #inst-docs
  95.   (cat "Installing program documentation"
  96.   ))
  97.  
  98.   (set #ask-xpk
  99.   (cat "Do you whish to install the decompression libraries?"
  100.   ))
  101.  
  102.   (set #xpk-help
  103.   (cat "It's suggested that you install the decompression libraries, even if you currently don't have packed modules!"
  104.   ))
  105.  
  106.   (set #create-comressorsdir
  107.   (cat "Creating Libs:Compressors dir"
  108.   ))
  109.  
  110.   (set #create-playerdir
  111.   (cat "Creating Player dir"
  112.   ))
  113.  
  114.   (set #create-playerstore
  115.   (cat "Creating PlayerStore"
  116.   ))
  117.  
  118.   (set #ask-players
  119.   (cat "Which Players should be activated?"
  120.   ))
  121.  
  122.   (set #ask-additional-players
  123.   (cat "Activate further players ? These players that are not widespread. The average user won't need them to be activated. We suggest that you select 'NO'!"
  124.   ))
  125.  
  126.   (set #ask-players-2
  127.   (cat "Which additional Players should be activated? Think twice before selecting!"
  128.   ))
  129.  
  130.   (set #ask-playsid
  131.   (cat "Would you like to install the PlaySID deliplayer?\nNote: This deliplayer uses the playsid.library, which is SHAREWARE!. Please read the supplied documentation for further information."
  132.   ))
  133.  
  134.   (set #ask-deliay
  135.   (cat "Would you like to install the DeliAY deliplayer?\n(This player emulates the AY soundchip of the ZX Spectrum)"
  136.   ))
  137.  
  138.   (set #player-help
  139.   (cat "Select those players you want to be loaded at startup. Please choose only those players you REALY need and you have modules for. All others will be installed in the PlayerStore directory so you may load them later."
  140.   ))
  141.  
  142.   (set #create-geniedir
  143.   (cat "Creating Genie dir"
  144.   ))
  145.  
  146.   (set #create-geniestore
  147.   (cat "Creating GenieStore"
  148.   ))
  149.  
  150.   (set #ask-genies
  151.   (cat "Which genies should be activated?"
  152.   ))
  153.  
  154.   (set #ask-xmas
  155.   (cat "Do you want to install the X-Mas '94 genie?"
  156.   ))
  157.  
  158.   (set #genie-help
  159.   (cat "All genies that are not activated will be installed in the GenieStore directory. For the further informations about particular genies read genie.doc."
  160.   ))
  161.  
  162.   (set #ask-arexx
  163.   (cat "Do you whish to install ARexx scripts?"
  164.   ))
  165.  
  166.   (set #help-arexx
  167.   (cat "Only choose if you realy use Rexx!"
  168.   ))
  169.  
  170.   (set #create-arexx
  171.   (cat "Creating Arexx dir"
  172.   ))
  173.  
  174.   (set #ask-pdocs
  175.   (cat "Do you whish to install Programming documentation?"
  176.   ))
  177.  
  178.   (set #help-pdocs
  179.   (cat "Only choose if you plan to write your own players or genies."
  180.   ))
  181.  
  182.   (set #create-pdocs
  183.   (cat "Creating Developer dir"
  184.   ))
  185.  
  186.   (set #extract-players
  187.   (cat "Extracting Players"
  188.   ))
  189.  
  190.   (set #extract-genies
  191.   (cat "Extracting Genies"
  192.   ))
  193.  
  194.   (set #extract-arexx
  195.   (cat "Extracting Arexx Scrips"
  196.   ))
  197.  
  198.   (set #extract-docs
  199.   (cat "Extracting Docs"
  200.   ))
  201.  
  202.   (set #extract-libs
  203.   (cat "Extracting Libs"
  204.   ))
  205.  
  206.   (set #extract-pdocs
  207.   (cat "Extracting development stuff"
  208.   ))
  209.    
  210.   (set #final-msg
  211.   (cat "To configure the genies repeat the following steps for each genie:\n\n1. Open the genie GUI with the 'Show' function.\n\n2. Activate the window and move it to the position where it should pop up.\n\n3. Set your defaults. You will find various options in the 'Settings' Menu. In particular: If you want the window to be opened every time DeliTracker is started turn 'Popup' on.\n\n4. Select 'Save Prefs' form the 'Project' Menu.\n"
  212.   ))
  213.  
  214.   ; Update Strings
  215.  
  216.   (set #remove-old
  217.   (cat "All old files will be removed."
  218.   ))
  219.  
  220.   (set #proceed
  221.   (cat "Proceed"
  222.   ))
  223.  
  224.   (set #abort
  225.   (cat "Abort"
  226.   ))
  227.  
  228.   (set #remove-old-help
  229.   (cat "If you like to keep your current installation you have to delete ENV:DELICONFIG and run this script again. Make sure that you select a different location for the new installation."
  230.   ))
  231.  
  232.   (set #removeing-dt
  233.   (cat "Removeing old files."
  234.   ))
  235.  
  236.   (set #already-newer-installed
  237.   (cat "The installation was aborted beacuse this or a newer version is already installed."
  238.   ))
  239.  
  240.   (set #update-msg
  241.   (cat "\n\nDeliTracker is SHAREWARE.\n\nIt seems that you use DeliTracker frequently. If you have not registered yet, please register now."
  242.   ))
  243.  )
  244. )
  245.  
  246. ; german strings
  247.  
  248. (if (= @LANGUAGE "deutsch")
  249.  (
  250.   (set def_pat "#?.dok#?")
  251.  
  252.   (set #bad-kick
  253.   (cat "DeliTracker 2.0 benötigt mindenstens Kickstart 2.04!"
  254.   ))
  255.  
  256.   (set #abort-t
  257.   (cat "Das T: Verzeichnis muß mindestens 500KB Platz zum Entpacken verschiedener Dateien bieten."
  258.   ))
  259.  
  260.   (set #invalid-env
  261.   (cat "\nENV:DeliConfig enthält eine ungültige Pfandangabe und wurde gelöscht.\n\n Starten Sie dieses Skript nochmal, um DeliTracker neu zu installieren."
  262.   ))
  263.  
  264.   (set #abort-no-space
  265.   (cat "Sie benötigen mindestens 850.000 Bytes freien Plattenplatz um DeliTracker zu installieren."
  266.   ))
  267.  
  268.   (set #choose-text
  269.   (cat "Bitte wählen Sie das Verzeichniss wohin DeliTracker installiert werden soll. Dieses Installationsscript legt dort selbst eine Schublade an."
  270.   ))
  271.  
  272.   (set #choose-help
  273.   (cat "Bei der Installation werden alle Dateien, bis auf die Libraries, in dieses Verzeichniss installiert. Die vollständige Installation von DeliTracker belegt auf der Festplatte etwa 1MB."
  274.   ))
  275.  
  276.   (set #create-maindir
  277.   (cat "Erstelle DeliTracker-Verzeichniss"
  278.   ))
  279.  
  280.   (set #create-configdir
  281.   (cat "Erstelle Konfigurations-Verzeichniss"
  282.   ))
  283.  
  284.   (set #set-path
  285.   (cat "Erstelle Pfad-Variable"
  286.   ))
  287.  
  288.   (set #inst-main
  289.   (cat "Installiere Hauptprogramm."
  290.   ))
  291.  
  292.   (set #create-docsdir
  293.   (cat "Erstelle Docs-Verzeichniss"
  294.   ))
  295.  
  296.   (set #inst-docs
  297.   (cat "Installiere Programm Dokumentation"
  298.   ))
  299.  
  300.   (set #ask-xpk
  301.   (cat "Wollen Sie die XPK Packer-Libraries installieren?"
  302.   ))
  303.  
  304.   (set #xpk-help
  305.   (cat "Sie sollenten die Packer-Libraries auch dann installieren, wenn Sie (noch) keine gepackten Module besitzen!"
  306.   ))
  307.  
  308.   (set #create-comressorsdir
  309.   (cat "Erstelle Libs:Compressors Unterverzeichniss"
  310.   ))
  311.  
  312.   (set #create-playerdir
  313.   (cat "Erstelle Player-Verzeichniss"
  314.   ))
  315.  
  316.   (set #create-playerstore
  317.   (cat "Erstelle PlayerStore"
  318.   ))
  319.  
  320.   (set #ask-players
  321.   (cat "Welche Player sollen aktiviert werden werden?"
  322.   ))
  323.  
  324.   (set #ask-additional-players
  325.   (cat "Sollen zusätzliche Player aktiviert werden? Hierbei handelt es sich um Player die nicht sehr Verbreitet sind. Der normale Benutzer wird diese Player nicht benötigen. Wir schlagen deshalb vor, das Sie mit 'NEIN' fortfahren."
  326.   ))   
  327.  
  328.   (set #ask-players-2
  329.   (cat "Welche zusätzlichen Player sollen bei Programmstart geladen werden?"
  330.   ))
  331.  
  332.   (set #ask-playsid
  333.   (cat "Wollen sie den PlaySID Player für DeliTracker installieren ?\nHinweis: Dieser DeliPlayer benutzt die playsid.library. Diese Library ist SHAREWARE! Für weitere Informationen lesen sie bitte die zugehörige Dokumentation."
  334.   ))
  335.  
  336.   (set #ask-deliay
  337.   (cat "Wollen Sie den DeliAY Player installieren?\n(Dieser Player emuliert den AY Soundchip des ZX Spectrum)"
  338.   ))
  339.  
  340.   (set #player-help
  341.   (cat "Bitte wählen Sie nur Player für die Sie auch Module besitzen. Nicht angewählete Player werden im Playerstore installiert. Sie können diese Player bei Bedarf später immer noch nachladen."
  342.   ))
  343.  
  344.   (set #create-geniedir
  345.   (cat "Erstelle Genie Verzeichniss"
  346.   ))
  347.  
  348.   (set #create-geniestore
  349.   (cat "Erstelle GenieStore"
  350.   ))
  351.  
  352.   (set #ask-genies
  353.   (cat "Welche zusätzlichen Genies sollen bei Programmstart geladen werden?"
  354.   ))
  355.  
  356.   (set #ask-xmas
  357.   (cat "Soll das '94 Weihnachts Genie installiert werden?"
  358.   ))
  359.  
  360.   (set #genie-help
  361.   (cat "Alle Genies die nicht aktiviert werden sind im GenieStore zu finden. Weitere Informationen finden Sie in Genies.dok."
  362.   ))
  363.  
  364.   (set #ask-arexx
  365.   (cat "Wollen Sie die ARexx scripts installieren?"
  366.   ))
  367.  
  368.   (set #help-arexx
  369.   (cat "Wählen Sie diese Option nur wenn Sie Arexx auch benutzen."
  370.   ))
  371.  
  372.   (set #create-arexx
  373.   (cat "Erstelle Arexx-Verzeichniss"
  374.   ))
  375.  
  376.   (set #ask-pdocs
  377.   (cat "Wollen Sie die Programmierdokumentation installieren?"
  378.   ))
  379.  
  380.   (set #help-pdocs
  381.   (cat "Wählen Sie diese Option nur, wenn Sie eigene Player oder Genies schreiben wollen. Hinweis: Die Entwicklerdokumentation ist für Assemblerprogramierer gedacht und ist nur in Englisch verfügbar!"
  382.   ))
  383.  
  384.   (set #create-pdocs
  385.   (cat "Erstelle Developer-Verzeichniss"
  386.   ))
  387.  
  388.   (set #extract-players
  389.   (cat "Entpacke Player"
  390.   ))
  391.  
  392.   (set #extract-genies
  393.   (cat "Entpacke Genies"
  394.   ))
  395.  
  396.   (set #extract-arexx
  397.   (cat "Entpacke Arexx Scrips"
  398.   ))
  399.  
  400.   (set #extract-docs
  401.   (cat "Entpacke Dokumentation"
  402.   ))
  403.  
  404.   (set #extract-libs
  405.   (cat "Entpacke Libraries"
  406.   ))
  407.  
  408.   (set #extract-pdocs
  409.   (cat "Entpacke Entwicklungspaket"
  410.   ))
  411.  
  412.   (set #final-msg
  413.   (cat "Um die Genies zu konfigurieren, wiederholen Sie folgende Schritte für jedes Genie:\n\n1. Öffnen Sie die zugehörige GUI mit der 'Show' Funktion.\n2. Aktivieren Sie das Fenster und positionieren Sie es an der gewünschten Stelle.\n3. Stellen Sie die Optionen nach Bedarf ein. Sie finden die Einstellungen im 'Settings' Menü. Wenn Sie wünschen, daß dieses Fenster bei jedem Start von DeliTracker geöffnet wird, schalten Sie 'Popup' an.\n4. Wählen Sie den Menüpunkt 'Save Prefs' aus dem 'Project' Menü."
  414.   ))
  415.  
  416.   ; Update Strings
  417.  
  418.   (set #remove-old
  419.   (cat "Es werden jetzt alle alten Dateien gelöscht."
  420.   ))
  421.   
  422.   (set #proceed
  423.   (cat "Weiter"
  424.   ))
  425.  
  426.   (set #abort
  427.   (cat "Abbrechen"
  428.   ))
  429.  
  430.   (set #remove-old-help
  431.   (cat "Wenn Sie Ihre alte Installation behalten wollen müssen Sie ENV:DELICONFIG löschen und dieses Script erneut starten. Installieren Sie die neue Version unbedingt in einem anderen Directory."
  432.   ))
  433.  
  434.   (set #removeing-dt
  435.   (cat "Entferne alte Dateien."
  436.   ))
  437.  
  438.   (set #already-newer-installed
  439.   (cat "Die Installation wurde abgebrochen, da bereits eine neuere Version installiert ist!"
  440.   ))
  441.  
  442.   (set #update-msg
  443.   (cat "\n\nDeliTracker ist SHAREWARE.\n\nDa Sie scheinbar DeliTracker öfter benutzen, sollten Sie sich, falls Sie das noch nicht getan haben, registrieren!"
  444.   ))
  445.  )
  446. )
  447.  
  448. ; check kick version
  449.  
  450. (if (< (/ (getversion) 65536) 37) (abort #bad-kick))
  451.  
  452. ; say hi 
  453. (welcome)
  454. (complete 0)
  455.  
  456. ;=============================================================================;
  457. ; Choose directory where DeliTracker is/will be installed.
  458. ; (Check for enough room)
  459. ;
  460. (if (exists "ENV:DELICONFIG" (noreq))
  461.  (
  462.   (set @default-dest (getenv "DELICONFIG"))
  463.   (set @default-dest (substr @default-dest 0 (- (strlen @default-dest) 11)))
  464.  
  465.   ; check ENV Variable
  466.   (if (NOT (exists @default-dest (noreq)))
  467.    (
  468.     (delete "ENV:DELICONFIG")
  469.     (abort #invalid-env)
  470.    )
  471.   )
  472.  
  473.   ; check installed version
  474.   (if (> (BITAND 65535 (getversion ("DeliTracker2"))) (BITAND 65535 (getversion (tackon @default-dest "DeliTracker2"))))
  475.    (    
  476.     (if (= 1 (askbool (prompt #remove-old) (help #remove-old-help) (choices #proceed #abort)))
  477.      (
  478.       (working #removeing-dt)
  479.       (if (= 2 (exists @default-dest))
  480.        (; delete all files in the DeliTracker2 drawer
  481.         (foreach (tackon @default-dest "DeliPlayers/PlayerStore") "#?" (delete (tackon (tackon @default-dest "DeliPlayers/PlayerStore") @each-name)))
  482.         (foreach (tackon @default-dest "DeliPlayers") "#?" (delete (tackon (tackon @default-dest "DeliPlayers") @each-name)))
  483.         (foreach (tackon @default-dest "DeliGenies/GenieStore") "#?" (delete (tackon (tackon @default-dest "DeliGenies/GenieStore") @each-name)))
  484.         (foreach (tackon @default-dest "DeliGenies") "#?" (delete (tackon (tackon @default-dest "DeliGenies") @each-name)))
  485.         (foreach (tackon @default-dest "Docs") "#?" (delete (tackon (tackon @default-dest "Docs") @each-name)))
  486.         (if (= 2 (exists (tackon @default-dest "Arexx")))
  487.          (
  488.           (foreach (tackon @default-dest "ARexx") "#?" (delete (tackon (tackon @default-dest "ARexx") @each-name)))
  489.           (delete (tackon @default-dest "ARexx.info"))
  490.           (delete (tackon @default-dest "ARexx"))
  491.          )
  492.         )
  493.         (if (= 2 (exists (tackon @default-dest "Developer")))
  494.          (
  495.           (foreach (tackon @default-dest "Developer/Include/Misc") "#?" (delete (tackon (tackon @default-dest "Developer/Include/Misc") @each-name)))
  496.           (foreach (tackon @default-dest "Developer/Include") "#?" (delete (tackon (tackon @default-dest "Developer/Include") @each-name)))
  497.           (foreach (tackon @default-dest "Developer/Examples/Custom") "#?" (delete (tackon (tackon @default-dest "Developer/Examples/Custom") @each-name)))
  498.           (foreach (tackon @default-dest "Developer/Examples") "#?" (delete (tackon (tackon @default-dest "Developer/Examples") @each-name)))
  499.           (foreach (tackon @default-dest "Developer") "#?" (delete (tackon (tackon @default-dest "Developer") @each-name)))
  500.           (delete (tackon @default-dest "Developer.info"))
  501.           (delete (tackon @default-dest "Developer"))
  502.          )
  503.         )
  504.        )
  505.       )
  506.  
  507.       ; for those who have moved DeliTracker into the WBStartUp drawer
  508.       (delete "SYS:WBStartUp/DeliTracker2")
  509.       (delete "SYS:WBStartUp/DeliTracker2.info")
  510.       ; remind shareware
  511.       (message #update-msg)
  512.      )
  513.      (exit "Bye Bye ...")
  514.     )
  515.    )
  516.    (abort #already-newer-installed)
  517.   )
  518.  )
  519.  
  520.  ; CHOOSE_DESTINATION
  521.  
  522.  (
  523.   (if (= "RAM" (getdevice "T:"))
  524.    (set freespace (+ (database "total-mem")))
  525.    (set freespace (getdiskspace ("%s:" (getdevice "T:"))))
  526.   )
  527.   (if (< freespace 500000)
  528.     (abort #abort-t))
  529.   
  530.   (set @default-dest (getassign "Work" "dva"))
  531.   (if (= @default-dest "")
  532.    (set @default-dest "SYS:"))
  533.   
  534.   (set @default-dest (askdir
  535.     (prompt #choose-text)
  536.     (help #choose-help)
  537.     (default @default-dest))
  538.   ) 
  539.   
  540.   (set @default-dest (tackon @default-dest "DeliTracker_II"))
  541.   
  542.   (if (NOT (= "RAM" (getdevice @default-dest)))
  543.    (if (> 850000 (getdiskspace ("%s:" (getdevice @default-dest))))
  544.     (abort #abort-no-space)
  545.    )
  546.   )
  547.  )
  548. )
  549.  
  550. (complete 5)
  551.  
  552. ;=============================================================================;
  553. ; Install procedure for DeliTracker itself
  554.  
  555. (copyfiles (source "c/LhX") (dest "T:"))
  556.  
  557. (makedir @default-dest (prompt #create-maindir)(infos))
  558. (makedir (tackon @default-dest "DeliConfig") (prompt #create-configdir))
  559. (copyfiles (prompt #inst-main)
  560.  (source "DeliTracker2")
  561.  (dest @default-dest)
  562.  (optional "fail")
  563.  (infos)
  564. )
  565.  
  566. (complete 10)
  567.  
  568. ;=============================================================================;
  569. ; Installation procedure for players
  570.  
  571. (makedir (tackon @default-dest "DeliPlayers")
  572.  (prompt #create-playerdir)
  573.  (infos)
  574. )
  575.  
  576. (makedir (tackon @default-dest "DeliPlayers/PlayerStore")
  577.  (prompt #create-playerstore)
  578.  (infos)
  579. )
  580.  
  581. (working #extract-players)
  582. (run "T:LhX -x x Files/players.lha T:")
  583.  
  584. (
  585.  (copyfiles (prompt #ask-players)
  586.   (help #player-help)
  587.   (source "T:DeliPlayers/")
  588.   (dest (tackon @default-dest "DeliPlayers"))
  589.   (optional "nofail")
  590.   (confirm "average")
  591.   (files)
  592.   (all)
  593.  )
  594. )
  595.  
  596. (if (= 1 (askbool (prompt #ask-additional-players) (help @help-askbool)))
  597.  (
  598.   (
  599.    (copyfiles (prompt #ask-players-2)
  600.    (help #player-help)
  601.    (source "T:DeliPlayers/Playerstore")
  602.    (dest (tackon @default-dest "DeliPlayers"))
  603.    (optional "nofail")
  604.    (confirm "average")
  605.    (files)
  606.    (all)
  607.    )
  608.   )
  609.  )
  610. )
  611.  
  612. (foreach (tackon @default-dest "DeliPlayers") "#?" (delete (tackon "T:DeliPlayers/" (fileonly @each-name))))
  613. (foreach (tackon @default-dest "DeliPlayers") "#?" (delete (tackon "T:DeliPlayers/PlayerStore/" (fileonly @each-name))))
  614. (copyfiles (source "T:DeliPlayers/Playerstore")
  615.        (dest (tackon @default-dest "DeliPlayers/PlayerStore"))
  616.        (files)
  617.        (all)
  618. )
  619. (foreach "T:DeliPlayers/Playerstore" "#?" (delete (tackon "T:DeliPlayers/PlayerStore/" (fileonly @each-name))))
  620. (delete "T:DeliPlayers/Playerstore")
  621. (copyfiles (source "T:DeliPlayers") 
  622.        (dest (tackon @default-dest "DeliPlayers/PlayerStore"))
  623.        (files)
  624.        (all)
  625. )
  626. (foreach "T:DeliPlayers" "#?" (delete (tackon "T:DeliPlayers/" (fileonly @each-name))))
  627. (delete "T:DeliPlayers")
  628.  
  629. (complete 60)
  630.  
  631. ;=============================================================================;
  632. ; Installation procedure for PlaySID
  633.  
  634. (if (= 1 (askbool (prompt #ask-playsid) (help @help-askbool)))
  635.  (
  636.   (
  637.    (working #extract-players)
  638.    (run "T:LhX x Bonus/DeliSID.lha DeliSID T:")
  639.    (run "T:LhX x Bonus/playsid3.lha PlaySID3.0/PlaySID.doc PlaySID3.0/PlaySID.doc.info PlaySID3.0/libs/playsid.library T:")
  640.  
  641.    (copyfiles (help #player-help)
  642.     (source "T:DeliSID")
  643.     (dest (tackon @default-dest "DeliPlayers"))
  644.    )
  645.  
  646.    (copyfiles (help #player-help)
  647.     (source "T:PlaySID3.0/PlaySID.doc.info")
  648.     (dest (tackon @default-dest "Docs"))
  649.    )
  650.  
  651.    (copyfiles (help #player-help)
  652.     (source "T:PlaySID3.0/PlaySID.doc")
  653.     (dest (tackon @default-dest "Docs"))
  654.    )
  655.  
  656.    (copylib (prompt "The playsid.library is required for DeliSID")
  657.     (source "T:PlaySID3.0/libs/playsid.library")
  658.     (dest "libs:")
  659.     (help @copylib-help)
  660.    )
  661.    (delete "T:DeliSID")
  662.    (delete "T:PlaySID3.0/PlaySID.doc.info")
  663.    (delete "T:PlaySID3.0/PlaySid.doc")
  664.    (delete "T:PlaySID3.0/libs/playsid.library")
  665.    (delete "T:PlaySID3.0/libs")
  666.    (delete "T:PlaySID3.0")
  667.   )
  668.  )
  669. )
  670.  
  671. (complete 65)
  672.  
  673. ;=============================================================================;
  674. ; Installation procedure for DeliAY
  675.  
  676. (if (= 1 (askbool (prompt #ask-deliay) (help @help-askbool)))
  677.  (    
  678.   (
  679.    (working #extract-players)
  680.    (run "T:LhX x Bonus/deliay.lha DeliAY/#?readme#? DeliAY/AYPlayers/#? DeliAY/DeliPlayers/#? T:")
  681.  
  682.    ; copy docs 
  683.    (copyfiles (help #player-help)
  684.     (source "T:DeliAY/DeliAY.readme.info")
  685.     (dest (tackon @default-dest "Docs"))
  686.    )   
  687.    (copyfiles (help #player-help)
  688.     (source "T:DeliAY/DeliAY.readme")
  689.     (dest (tackon @default-dest "Docs"))
  690.     (files)
  691.    )
  692.  
  693.    ; copy DeliAY player
  694.    (copyfiles (help #player-help)
  695.     (source "T:DeliAY/DeliPlayers/DeliAY")
  696.     (dest (tackon @default-dest "DeliPlayers"))
  697.    )
  698.  
  699.    ; let's make a new sub-player directory
  700.    (makedir (tackon @default-dest "AYPlayers")
  701.    (prompt #create-playerdir)
  702.    )
  703.  
  704.    ; copy sub-players
  705.    (copyfiles (help #player-help)
  706.     (source "T:DeliAY/AYPlayers")
  707.     (dest (tackon @default-dest "AYPlayers"))
  708.     (files)
  709.     (all)
  710.    )
  711.  
  712.    ; delete temporary files 
  713.    (foreach "T:DeliAY/AYPlayers/" "#?" (delete (tackon "T:DeliAY/AYPlayers/" @each-name) (optional force)))
  714.    (foreach "T:DeliAY/DeliPlayers/" "#?" (delete (tackon "T:DeliAY/DeliPlayers/" @each-name) (optional force)))
  715.    (foreach "T:DeliAY/" "#?" (delete "T:DeliAY/" (tackon "T:DeliAY/" @each-name) (optional force)))
  716.    (delete "T:DeliAY")
  717.  
  718.   )
  719.  )
  720. )
  721.  
  722. (complete 66)
  723.  
  724. ;=============================================================================;
  725. ; Installation procedure for genies
  726. ; Install default genies
  727. ; Average, Expert: ask optional genies
  728.  
  729. (makedir (tackon @default-dest "DeliGenies")
  730.  (prompt #create-geniedir)
  731.  (infos)
  732. )
  733.  
  734. (makedir (tackon @default-dest "DeliGenies/GenieStore")
  735.  (prompt #create-geniestore)
  736.  (infos)
  737. )
  738.  
  739. (working #extract-genies)
  740. (run ("T:LhX -x x Files/genies.lha \"%s/\"" @default-dest))
  741.  
  742. (if (OR (= "68000" (database "cpu") (= "68010" (database "cpu"))))
  743.  ; remove NotePlayers on 68000er Systems that require at least a '020
  744.  (
  745.   (delete (tackon @default-dest "DeliGenies/GenieStore/14Bit-NotePlayer"))
  746.   (delete (tackon @default-dest "DeliGenies/GenieStore/32Voc-NotePlayer"))
  747.   (delete (tackon @default-dest "DeliGenies/GenieStore/32Voc-NotePlayerPlus"))
  748.   (delete (tackon @default-dest "DeliGenies/GenieStore/ModSave-NotePlayer"))
  749.  )
  750.  ; remove obsolete NotePlayers for 68020+ Systems
  751.  (
  752.   (delete (tackon @default-dest "DeliGenies/8Voc-NotePlayer"))
  753.  )
  754. )
  755.  
  756. (
  757.  (copyfiles (prompt #ask-genies)
  758.   (help #genie-help)
  759.   (source (tackon @default-dest "DeliGenies/Geniestore"))
  760.   (dest (tackon @default-dest "DeliGenies"))
  761.   (optional "nofail")
  762.   (confirm "average")
  763.   (files)
  764.   (all)
  765.  )
  766. )
  767.  
  768. (foreach (tackon @default-dest "DeliGenies") "#?" (delete (tackon (tackon @default-dest "DeliGenies/GenieStore/") (fileonly @each-name))))
  769.  
  770. (complete 75)
  771.  
  772. ;=============================================================================;
  773. ; Installation procedure for X-Mas Genie
  774.  
  775. (if (= 1 (askbool (prompt #ask-xmas) (help @help-askbool)))
  776.  (    
  777.   (
  778.    (working #extract-genies)
  779.    (run "T:LhX x Bonus/X-Mas.lha Xmas-Genie T:")
  780.    
  781.    (copyfiles (help #genies-help)
  782.     (source "T:Xmas-Genie")
  783.     (dest (tackon @default-dest "DeliGenies"))
  784.    )
  785.  
  786.    (delete "T:Xmas-Genie")
  787.   )
  788.  )
  789. )
  790.  
  791. (complete 76)
  792.  
  793. ;=============================================================================
  794. ; Installation procedure for Arexx Scripts
  795.  
  796. (if (< 0 @user-level)
  797.  (if (= 1 (askbool (prompt #ask-arexx) (help #help-arexx)))
  798.   (
  799.    (makedir (tackon @default-dest "Arexx")
  800.     (prompt #create-arexx)
  801.     (infos)
  802.    )
  803.    (working #extract-arexx)
  804.    (run ("T:LhX -x x Files/arexx.lha \"%s/\"" @default-dest))
  805.   )
  806.  )
  807. )
  808.  
  809. (complete 80)
  810.  
  811. ;=============================================================================;
  812. ; Install procedure for the decompression libraries
  813.  
  814. (if (OR (= 0 @user-level) (if (< 0 @user-level) (askbool (prompt #ask-xpk) (help #xpk-help))))
  815.  (
  816.   (makedir "Libs:Compressors" (prompt #create-comressorsdir))
  817.   (working #extract-libs)
  818.   (run "T:LhX -x x Files/libs.lha >NIL: <NIL: T:")  
  819.   (run "T:LhX x Files/xpkSMPL.lha xpkSMPL.library >NIL: <NIL: T:libs/compressors/")
  820.   (run "T:LhX x Files/xpkSHRI.lha xpkSHRI.library >NIL: <NIL: T:libs/compressors/")
  821.   (run "T:LhX x Files/xpkSQSH.lha >NIL: <NIL: T:libs/")
  822.  
  823.   (copylib (prompt "Install xpkmaster.library")
  824.   (source "T:libs/xpkmaster.library")
  825.   (dest "libs:")
  826.   (confirm)
  827.   (optional nofail askuser)
  828.   (help @copylib-help)
  829.   )
  830.  
  831.   (copylib (prompt "Install powerpacker.library")
  832.   (source "T:libs/powerpacker.library")
  833.   (dest "libs:")
  834.   (confirm)
  835.   (optional nofail askuser)
  836.   (help @copylib-help)
  837.   )
  838.  
  839.   ; xpk sub lib's
  840.   
  841.   (copylib (prompt "Install compressors/xpkNUKE.library")
  842.   (source "T:libs/compressors/xpkNUKE.library")
  843.   (dest "libs:compressors/")
  844.   (confirm)
  845.   (optional nofail askuser)
  846.   (help @copylib-help)
  847.   )
  848.  
  849.   (copylib (prompt "Install compressors/xpkSMPL.library")
  850.   (source "T:libs/compressors/xpkSMPL.library")
  851.   (dest "libs:compressors/")
  852.   (confirm)
  853.   (optional nofail askuser)
  854.   (help @copylib-help)
  855.   )
  856.  
  857.   (copylib (prompt "Install compressors/xpkSHRI.library")
  858.   (source "T:libs/compressors/xpkSHRI.library")
  859.   (dest "libs:compressors/")
  860.   (confirm)
  861.   (optional nofail askuser)
  862.   (help @copylib-help)
  863.   )
  864.  
  865.   ; install right version for 680x0 cpu
  866.   (if (OR (= "68000" (database "cpu") (= "68010" (database "cpu"))))
  867.    (copylib (prompt "Install compressors/xpkSQSH.library")
  868.     (source "T:libs/68000/xpkSQSH.library")
  869.     (dest "libs:compressors/")
  870.     (confirm)
  871.     (optional nofail askuser)
  872.     (help @copylib-help)
  873.    )
  874.    (copylib (prompt "Install compressors/xpkSQSH.library")
  875.     (source "T:libs/68020/xpkSQSH.library")
  876.     (dest "libs:compressors/")
  877.     (confirm)
  878.     (optional nofail askuser)
  879.     (help @copylib-help)
  880.    )
  881.   )
  882.  
  883.   ; cleanup temp dir
  884.  
  885.   (foreach "T:libs/compressors" "#?" (delete (tackon "T:libs/compressors/" @each-name) (optional force)))
  886.   (foreach "T:libs/" "#?" (delete (tackon "T:libs/" @each-name) (optional force)))
  887.   (delete "T:libs/68000/xpkSQSH.library")
  888.   (delete "T:libs/68020/xpkSQSH.library")
  889.   (delete "T:libs/68000")
  890.   (delete "T:libs/68020")
  891.   (delete "T:libs")
  892.  
  893.  )
  894. )
  895.  
  896. (complete 90)
  897.  
  898. ;=============================================================================;
  899. ; Install procedure for the documentation files
  900.  
  901. (makedir (tackon @default-dest "Docs")
  902.  (prompt #create-docsdir)
  903.  (infos)
  904. )
  905.  
  906. (working #extract-docs)
  907. (run "T:LhX -x x Files/docs.lha >NIL: <NIL: -x T:")
  908.  
  909. (copyfiles (prompt #inst-docs)
  910.  (source "T:Docs/")
  911.  (dest (tackon @default-dest "Docs"))
  912.  (pattern def_pat)
  913.  (optional "nofail")
  914.  (infos)
  915.  (files)
  916. )
  917.  
  918. ; cleanup temp dir
  919.  
  920. (foreach "T:Docs/" "#?" (delete (tackon "T:Docs/" @each-name) (optional force)))
  921. (delete "T:Docs" (optional force))
  922.  
  923. (complete 95)
  924.  
  925. ;=============================================================================;
  926. ; Installation procedure for Development Documentation
  927.  
  928. (if (= 2 @user-level)
  929.  (if (= 1 (askbool (prompt #ask-pdocs) (help #help-pdocs)))
  930.   (
  931.    (makedir (tackon @default-dest "Developer")
  932.     (prompt #create-pdocs)
  933.     (infos)
  934.    )
  935.    (makedir (tackon @default-dest "Developer/Examples")
  936.     (prompt #create-pdocs)
  937.     (infos)
  938.    )
  939.    (makedir (tackon @default-dest "Developer/Includes")
  940.     (prompt #create-pdocs)
  941.     (infos)
  942.    )
  943.  
  944.    (working #extract-pdocs)
  945.    (run ("T:LhX -x x Files/developer.lha \"%s/\"" @default-dest))
  946.  
  947.    (if (= @language "english")
  948.     (
  949.     (delete (tackon @default-dest "Developer/Developer.dok"))
  950.     (delete (tackon @default-dest "Developer/Developer.dok.info"))
  951.     )
  952.     (
  953.     (delete (tackon @default-dest "Developer/Developer.doc"))
  954.     (delete (tackon @default-dest "Developer/Developer.doc.info"))
  955.     )
  956.    )
  957.   )
  958.  )
  959. )
  960.  
  961. ;=============================================================================;
  962. ; Set environment variables for configuration path
  963.  
  964. (complete 98)
  965.  
  966. (textfile (prompt #set-path) (dest "ENV:DeliConfig") (append (expandpath (tackon @default-dest "DeliConfig")))) 
  967.  
  968. ; this makes testing easier...
  969. (if (NOT (= "RAM" (getdevice @default-dest)))
  970.  (textfile (prompt #set-path) (dest "ENVARC:DeliConfig") (append (expandpath (tackon @default-dest "DeliConfig")))) 
  971. )
  972.  
  973. ;=============================================================================;
  974. ; Cleanup & tell some important things!
  975.  
  976. (delete "T:LhX")
  977. (complete 99)
  978. (message #final-msg)
  979. (complete 100)
  980.  
  981. ;=============================================================================;
  982.